1. Field of the Invention
The invention relates to memory systems in which programmable control parameters are stored in one or more non-volatile data storage units so that each system's parameters can be reprogrammed (by reprogramming each data storage unit) after the system has been fabricated, and to methods for operating such systems. More specifically, the invention relates to methods for asserting default values of control parameters of memory systems at desired times, regardless of the values of control parameters stored in non-volatile data storage units of the systems, and to memory systems capable of performing such methods.
2. Background Art
Integrated circuit memory systems have been developed having very large storage capacities. Although attempts have been made to control carefully the fabrication of these systems to increase yield, there invariably are differences in the characteristics of individual systems, even among systems having the same design. These differences in characteristics are attributable to many factors but are mostly due to processing variations. Thus, memory systems taken from one semiconductor wafer may differ significantly from those taken from other wafers.
It is usually not possible to characterize a memory system fully until it is completely fabricated. At that point, it is not possible to modify the memory system to take into account the characteristics of the memory. For example, in a flash memory system it is possible to electrically program, read, and erase the flash cells. The logic state of each cell is set by either programming or erasing the cell, with programming and erasing functioning to alter the threshold voltage of the cell. When the cell is read, the threshold voltage of the cell is determined in order to establish the logic state of the cell. However, the characteristics of the flash cell, such as the exact manner in which the flash cell responds to programming pulses or erase pulses, are not easily ascertained. The threshold voltage of the cell of one memory system may change one amount after a single programming pulse is applied and a cell of another supposedly identical memory system may change a different amount after the same programming pulse is applied to it.
In order to accommodate these variations in memory system characteristics, it is typically necessary to design the system assuming worst case conditions. If so, the overall performance of the system will almost necessarily be reduced.
Many processor systems which operate with an associated memory require a particular memory configuration to operate properly. For example, some systems require a word length of eight bits and others require sixteen bits. Some conventional memory systems permit the end user to control word size to some degree. However, this somewhat increases the complexity imposed on the end user since the end user must provide the necessary signals to the memory for controlling word length.
As another example, most processor systems look to a certain portion of a memory for boot data at power on. Such boot data is necessary for the processor to function, and the processor is implemented to expect the boot data to be at specific memory address. Some processors expect the boot data to be at the memory low addresses (bottom boot) and other processors expect the boot data to be at the memory high addresses (top boot).
In order to provide capabilities for different types of processor systems, it is possible to produce a different memory system for each application. However, it is always desirable to limit the number of different memory types which must be manufactured.
It would be desirable to have a memory system which can be fully characterized after fabrication and wherein operating parameters can then be permanently adjusted (or stably adjusted, until modified) to provide a memory system that is optimized to take into account the system's particular characteristics. It would also be desirable to provide capability for modifying the configuration (i.e., the operating parameters) of a memory system after fabrication so as to reduce the number of different types of memories which must be fabricated. Memory systems having these features are described in U.S. patent application Ser. No. 08/508,864 (filed Jul. 28, 1995), entitled "NON-VOLATILE DATA STORAGE UNIT AND METHOD OF CONTROLLING SAME", and U.S. patent application Ser. No. 08/508,921, entitled MEMORY SYSTEM HAVING PROGRAMMABLE FLOW CONTROL REGISTER, filed Jul. 28, 1995, the contents of each of which are incorporated herein by reference. Preferred embodiments of the present invention pertain to such memory systems.
It would also be desirable to design memory systems (including but not limited to integrated memory circuits) to have the capability to store (in a non-volatile manner) parameters relating to circuit operation. For example, sometimes an integrated memory circuit is designed for use in different operating modes. The circuit can be configured at a fabrication facility to operate permanently in only one mode, depending upon the requirements of a particular user. This can be achieved by modifying the metallization layer of the integrated circuit so that the desired operating mode is achieved. The latter approach has the advantage that the change in metallization is permanent and will not be affected by loss of operating power. However, this advantage is offset by many disadvantages, including the disadvantage that further changes in the stored operating parameters cannot be made once the metallization has been completed. This is particularly disadvantageous where the value of the stored parameters is dependent on the characteristics of the integrated circuit which frequently cannot be ascertained until the metallization has been completed. In addition, once the integrated circuit has been packaged, it is frequently impossible to ascertain the value of the stored parameter.
The present invention also pertains to memory systems capable of storing operating parameters in a non-volatile memory so that such stored parameters can be altered at any time after the fabrication process (e.g., the integrated memory circuits described in cited U.S. Applications Ser. No. 08/508,864 and Ser. No. 08/508,921). In such systems, once a parameter has been stored the parameter is retained even in the event of a loss of power.
In memory circuits having non-volatile storage units (each for storing at least one control parameter), it would be desirable to selectively assert default values of at least some of the control parameters at desired times (e.g., automatically upon initialization of a test mode of operation of the circuit in response to a "test mode initialization" signal), regardless of the control parameter data stored in the storage units at such times. The present invention provides such a capability, and permits initialization of internal control registers (and/or analog voltage levels) of an integrated circuit memory system (or other memory system), so that an external program for controlling operation of the system can start from a known condition.